package com.bsoft.gol.editor.editor;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Entity(name="controlReport")
@Table(name = "control_report")
public class ControlReportEntity implements Serializable {
    private String reportId;
    private String itemName;
    private String itemContent;
    private String itemId;
    private String titleId;
    private String userInfoId;
    private String result;
    private String refRange;
    private String resultUnit;
    private String abnormal;
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date visitTime;
    private String departmentId;
    private String departmentName;
    private String diagnosisId;
    private String diagnosisName;
    private String doctorId;
    private String doctorName;
    private String dischargeDiagnosisCode;
    private String dischargeDiagnosisName;
    private String operativeName;
    private String operativeRecordId;
    private String operativeCode;
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date operativeTime;
    private String subassemblyType;
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beAdmissionTime;
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dischargeTime;
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date answerTime;
    private String sfzh;
    private Date reportTime;
    private String ifSynchro;
    private String diagnosisType;
    //检查类型代码
    private String examTypeCode;
    //检查类型名称
    private String examTypeName;
    //检查部位代码
    private String examPartCode;
    //检查部位名称
    private String examPartName;
    //检查诊断
    private String diagnoseName;
    //检查影像
    private String imageNo;
    //检查影像照片标识
    private String examPhotoId;
    private String prescriptionId;
    private String drugsNumber;
    private String drugName;
    private String drugUsePathwaysCode;
    private String drugUsePathwaysName;
    private String drugUsingRate;
    private String drugUsingRateName;
    private Double onceDosage;
    private String dosageUnit;
    private Integer medicineDays;
    private Double drugSendNumber;
    private BigDecimal price;
    private String drugstoreUnit;
    private String drugSpecifications;
    //机构代码
    private String organizationId;
    //机构名称
    private String organizationName;
    //标本类型代码
    private String specimenTypeId;
    //样本类型名称
    private String specimenTypeName;
    //样本采集时间
    private Date sampleTestTime;
    //麻醉方式
    private String anesthesiaWayCode;
    //麻醉方式
    private String anesthesiaWayName;
    //切口等级
    private String notchGrade;
    //愈合等级
    private String healingGrade;
    //问卷内容
    private String reportContent;

    //治疗名称
    private String treatmentName;
    //治疗时间
    private Date treatmentTime;

    private List<DiagnosisList> diagnosisList;

    @Id
    @Column(name = "report_id")
    public String getReportId() {
        return reportId;
    }

    public void setReportId(String reportId) {
        this.reportId = reportId;
    }

    @Basic
    @Column(name = "report_content")
    public String getReportContent() {
        return reportContent;
    }

    public void setReportContent(String reportContent) {
        this.reportContent = reportContent;
    }

    @Basic
    @Column(name = "item_name")
    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    @Basic
    @Column(name = "item_content")
    public String getItemContent() {
        return itemContent;
    }

    public void setItemContent(String itemContent) {
        this.itemContent = itemContent;
    }

    @Basic
    @Column(name = "item_id")
    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    @Basic
    @Column(name = "title_id")
    public String getTitleId() {
        return titleId;
    }

    public void setTitleId(String titleId) {
        this.titleId = titleId;
    }

    @Basic
    @Column(name = "user_info_id")
    public String getUserInfoId() {
        return userInfoId;
    }

    public void setUserInfoId(String userInfoId) {
        this.userInfoId = userInfoId;
    }

    @Basic
    @Column(name = "result")
    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    @Basic
    @Column(name = "ref_range")
    public String getRefRange() {
        return refRange;
    }

    public void setRefRange(String refRange) {
        this.refRange = refRange;
    }

    @Basic
    @Column(name = "result_unit")
    public String getResultUnit() {
        return resultUnit;
    }

    public void setResultUnit(String resultUnit) {
        this.resultUnit = resultUnit;
    }

    @Basic
    @Column(name = "abnormal")
    public String getAbnormal() {
        return abnormal;
    }

    public void setAbnormal(String abnormal) {
        this.abnormal = abnormal;
    }

    @Basic
    @Column(name = "visit_time")
    public Date getVisitTime() {
        return visitTime;
    }

    public void setVisitTime(Date visitTime) {
        this.visitTime = visitTime;
    }

    @Basic
    @Column(name = "department_id")
    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    @Basic
    @Column(name = "department_name")
    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    @Basic
    @Column(name = "diagnosis_id")
    public String getDiagnosisId() {
        return diagnosisId;
    }

    public void setDiagnosisId(String diagnosisId) {
        this.diagnosisId = diagnosisId;
    }

    @Basic
    @Column(name = "diagnosis_name")
    public String getDiagnosisName() {
        return diagnosisName;
    }

    public void setDiagnosisName(String diagnosisName) {
        this.diagnosisName = diagnosisName;
    }




    @Basic
    @Column(name = "doctor_id")
    public String getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }

    @Basic
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    @Basic
    @Column(name = "discharge_diagnosis_code")
    public String getDischargeDiagnosisCode() {
        return dischargeDiagnosisCode;
    }

    public void setDischargeDiagnosisCode(String dischargeDiagnosisCode) {
        this.dischargeDiagnosisCode = dischargeDiagnosisCode;
    }

    @Basic
    @Column(name = "discharge_diagnosis_name")
    public String getDischargeDiagnosisName() {
        return dischargeDiagnosisName;
    }

    public void setDischargeDiagnosisName(String dischargeDiagnosisName) {
        this.dischargeDiagnosisName = dischargeDiagnosisName;
    }

    @Basic
    @Column(name = "operative_name")
    public String getOperativeName() {
        return operativeName;
    }

    public void setOperativeName(String operativeName) {
        this.operativeName = operativeName;
    }

    @Basic
    @Column(name = "operative_record_Id")
    public String getOperativeRecordId() {
        return operativeRecordId;
    }

    public void setOperativeRecordId(String operativeRecordId) {
        this.operativeRecordId = operativeRecordId;
    }

    @Basic
    @Column(name = "operative_code")
    public String getOperativeCode() {
        return operativeCode;
    }

    public void setOperativeCode(String operativeCode) {
        this.operativeCode = operativeCode;
    }

    @Basic
    @Column(name = "operative_time")
    public Date getOperativeTime() {
        return operativeTime;
    }

    public void setOperativeTime(Date operativeTime) {
        this.operativeTime = operativeTime;
    }

    @Basic
    @Column(name = "subassembly_type")
    public String getSubassemblyType() {
        return subassemblyType;
    }

    public void setSubassemblyType(String subassemblyType) {
        this.subassemblyType = subassemblyType;
    }

    @Basic
    @Column(name = "be_admission_time")
    public Date getBeAdmissionTime() {
        return beAdmissionTime;
    }

    public void setBeAdmissionTime(Date beAdmissionTime) {
        this.beAdmissionTime = beAdmissionTime;
    }

    @Basic
    @Column(name = "discharge_time")
    public Date getDischargeTime() {
        return dischargeTime;
    }

    public void setDischargeTime(Date dischargeTime) {
        this.dischargeTime = dischargeTime;
    }

    @Basic
    @Column(name = "answer_time")
    public Date getAnswerTime() {
        return answerTime;
    }

    public void setAnswerTime(Date answerTime) {
        this.answerTime = answerTime;
    }

    @Basic
    @Column(name = "sfzh")
    public String getSfzh() {
        return sfzh;
    }

    public void setSfzh(String sfzh) {
        this.sfzh = sfzh;
    }

    @Basic
    @Column(name = "report_time")
    public Date getReportTime() {
        return reportTime;
    }

    public void setReportTime(Date reportTime) {
        this.reportTime = reportTime;
    }

    @Basic
    @Column(name = "if_synchro")
    public String getIfSynchro() {
        return ifSynchro;
    }

    public void setIfSynchro(String ifSynchro) {
        this.ifSynchro = ifSynchro;
    }
    @Basic
    @Column(name = "diagnosis_type")
    public String getDiagnosisType() {
        return diagnosisType;
    }

    public void setDiagnosisType(String diagnosisType) {
        this.diagnosisType = diagnosisType;
    }

    @Transient
    public List<DiagnosisList> getDiagnosisList() {
        return diagnosisList;
    }

    public void setDiagnosisList(List<DiagnosisList> diagnosisList) {
        this.diagnosisList = diagnosisList;
    }

    @Transient
    public String getExamTypeCode() {
        return examTypeCode;
    }

    public void setExamTypeCode(String examTypeCode) {
        this.examTypeCode = examTypeCode;
    }

    @Transient
    public String getExamTypeName() {
        return examTypeName;
    }

    public void setExamTypeName(String examTypeName) {
        this.examTypeName = examTypeName;
    }

    @Transient
    public String getExamPartCode() {
        return examPartCode;
    }

    public void setExamPartCode(String examPartCode) {
        this.examPartCode = examPartCode;
    }

    @Transient
    public String getExamPartName() {
        return examPartName;
    }

    public void setExamPartName(String examPartName) {
        this.examPartName = examPartName;
    }

    @Transient
    public String getDiagnoseName() {
        return diagnoseName;
    }

    public void setDiagnoseName(String diagnoseName) {
        this.diagnoseName = diagnoseName;
    }

    @Transient
    public String getImageNo() {
        return imageNo;
    }

    public void setImageNo(String imageNo) {
        this.imageNo = imageNo;
    }

    @Transient
    public String getExamPhotoId() {
        return examPhotoId;
    }

    public void setExamPhotoId(String examPhotoId) {
        this.examPhotoId = examPhotoId;
    }

    @Transient
    public String getPrescriptionId() {
        return prescriptionId;
    }

    public void setPrescriptionId(String prescriptionId) {
        this.prescriptionId = prescriptionId;
    }

    @Transient
    public String getDrugsNumber() {
        return drugsNumber;
    }

    public void setDrugsNumber(String drugsNumber) {
        this.drugsNumber = drugsNumber;
    }

    @Transient
    public String getDrugName() {
        return drugName;
    }

    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }

    @Transient
    public String getDrugUsePathwaysCode() {
        return drugUsePathwaysCode;
    }

    public void setDrugUsePathwaysCode(String drugUsePathwaysCode) {
        this.drugUsePathwaysCode = drugUsePathwaysCode;
    }

    @Transient
    public String getDrugUsePathwaysName() {
        return drugUsePathwaysName;
    }

    public void setDrugUsePathwaysName(String drugUsePathwaysName) {
        this.drugUsePathwaysName = drugUsePathwaysName;
    }

    @Transient
    public String getDrugUsingRate() {
        return drugUsingRate;
    }

    public void setDrugUsingRate(String drugUsingRate) {
        this.drugUsingRate = drugUsingRate;
    }

    @Transient
    public String getDrugUsingRateName() {
        return drugUsingRateName;
    }

    public void setDrugUsingRateName(String drugUsingRateName) {
        this.drugUsingRateName = drugUsingRateName;
    }

    @Transient
    public Double getOnceDosage() {
        return onceDosage;
    }

    public void setOnceDosage(Double onceDosage) {
        this.onceDosage = onceDosage;
    }

    @Transient
    public String getDosageUnit() {
        return dosageUnit;
    }

    public void setDosageUnit(String dosageUnit) {
        this.dosageUnit = dosageUnit;
    }

    @Transient
    public Integer getMedicineDays() {
        return medicineDays;
    }

    public void setMedicineDays(Integer medicineDays) {
        this.medicineDays = medicineDays;
    }

    @Transient
    public Double getDrugSendNumber() {
        return drugSendNumber;
    }

    public void setDrugSendNumber(Double drugSendNumber) {
        this.drugSendNumber = drugSendNumber;
    }

    @Transient
    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    @Transient
    public String getDrugstoreUnit() {
        return drugstoreUnit;
    }

    public void setDrugstoreUnit(String drugstoreUnit) {
        this.drugstoreUnit = drugstoreUnit;
    }

    @Transient
    public String getDrugSpecifications() {
        return drugSpecifications;
    }

    public void setDrugSpecifications(String drugSpecifications) {
        this.drugSpecifications = drugSpecifications;
    }

    @Transient
    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    @Transient
    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    @Transient
    public String getSpecimenTypeId() {
        return specimenTypeId;
    }

    public void setSpecimenTypeId(String specimenTypeId) {
        this.specimenTypeId = specimenTypeId;
    }

    @Transient
    public String getSpecimenTypeName() {
        return specimenTypeName;
    }

    public void setSpecimenTypeName(String specimenTypeName) {
        this.specimenTypeName = specimenTypeName;
    }

    @Transient
    public Date getSampleTestTime() {
        return sampleTestTime;
    }

    public void setSampleTestTime(Date sampleTestTime) {
        this.sampleTestTime = sampleTestTime;
    }

    @Transient
    public String getAnesthesiaWayCode() {
        return anesthesiaWayCode;
    }

    public void setAnesthesiaWayCode(String anesthesiaWayCode) {
        this.anesthesiaWayCode = anesthesiaWayCode;
    }

    @Transient
    public String getAnesthesiaWayName() {
        return anesthesiaWayName;
    }

    public void setAnesthesiaWayName(String anesthesiaWayName) {
        this.anesthesiaWayName = anesthesiaWayName;
    }

    @Transient
    public String getNotchGrade() {
        return notchGrade;
    }

    public void setNotchGrade(String notchGrade) {
        this.notchGrade = notchGrade;
    }

    @Transient
    public String getHealingGrade() {
        return healingGrade;
    }

    public void setHealingGrade(String healingGrade) {
        this.healingGrade = healingGrade;
    }

    @Transient
    public String getTreatmentName() {
        return treatmentName;
    }

    public void setTreatmentName(String treatmentName) {
        this.treatmentName = treatmentName;
    }

    @Transient
    public Date getTreatmentTime() {
        return treatmentTime;
    }

    public void setTreatmentTime(Date treatmentTime) {
        this.treatmentTime = treatmentTime;
    }
}
